package com.etl.sys.service;

import com.etl.enums.ScheduleStatusEnum;
import com.etl.sys.entity.SysSchedule;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.task.basic.TaskResult;

/**
 * <p>
 * 调度表 服务类
 * </p>
 *
 * @author chenfenghai
 * @since 2020-10-26
 */
public interface ISysScheduleService extends IService<SysSchedule> {

    /**
     * 更新调度状态
     *
     * @param scheduleId     调度ID
     * @param scheduleStatus 状态
     */
    void updateScheduleStatus(Long scheduleId, ScheduleStatusEnum scheduleStatus);

    /**
     * 更新调度结果
     *
     * @param scheduleId 调度ID
     * @param taskResult 结果
     */
    void updateScheduleResult(Long scheduleId, TaskResult taskResult);

    /**
     * 更新调度为已停止、已失败
     *
     * @param scheduleId 调度ID
     */
    void updateScheduleToStoppedAndFailed(Long scheduleId);
}
